如何充滿熱情地學習 - 以資料結構為例


Posted by Po-Jen on 2018-09-02

前言

最近不管是工作、還是自己額外的學習,都感受到擁有熱情是很重要的,有熱情,才更想投入心力,把技能磨練到頂尖,也在過程中獲得更多樂趣!

最近大家都喊著要學程式設計,因為有超級爆炸多的未來應用,例如虛擬實境、擴增實境、人工智慧、機器人、區塊鍊等等東西都需要大量的程式設計師。

但是,要把程式寫好,良好的資料結構與演算法基礎是不可少,網路上也已經有好多好多的學習資源了。可是,在透過這些資源學習的時候,常常感受到的都是「題目好難」、「好多東西要學」...等等,所以今天想要花一些時間來探討探討,到底該怎麼做,才能有熱情地來學習,並用資料結構來舉例。

了解意義價值,知道自己的學習具有意義

首先,我來講一個前提,這個前提就是:

如果我們認真地去觀察每一件事情,
幾乎都可以看到這件事情存在或發生的意義。

我們來看資料結構,就可以看到這些資料結構都被運用在很多地方。

例如,大家最一開始學到的 Array,可以用來儲存同類型的東西、你不需要為 array 中每一個元素都重新宣告一個變數,光是 array 存在的本身就省下大家寫 code 大量的時間。

再來,最近很夯的 Deep Learning,裡面有大量的類神經網路權重,這些權重也都是用矩陣(實際上就只是更多維度的 array)來儲存。

甚至,你要儲存一個更複雜的資料結構 - graph,你也可以用 2D array 來儲存 node 之間的關係。

每天生活中我們會看到的影像,在操作時也不過就是存有一堆數值的 2D array。

這麼一個看起來很簡單、很 trivial 的資料結構,如果你稍微想一想,就會感受到你的生活中有許多東西,背後可能都使用到 array,或跟 array 有異曲同工之妙(例如你的書架就像是 array,上面的書就像是裡面的元素)。

這些資料結構都是很有意義的,他們並不只是冷冰冰的知識,而是有實際用途才被發明出來的東西,而當我們了解他們的用途,就慢慢可以了解為何我們需要學習各種資料結構的各種操作的時間複雜度,因為這些知識可以幫助你將這些好東西用到極致!

可是,雖然我們可能可以感受到學的東西有意義,但學習過程中卻會遇到挫折,所以接下來想要跟大家分享快樂學習的一個方法~

善用你的腦袋,讓學習更快樂

最近因緣際會,學習到關於我們大腦的一些知識,這些知識對於保有學習熱忱也有很大的幫助,也會讓你在面對挫折時更容易跳脫出來。

大腦愈開心,學得愈好!高效學習 6 個祕密 ,可以看到一個重要的資訊:

帶來快樂感覺的神經傳導物質多巴胺,
是提升學習效能的要角之一。
當達成目標時,多巴胺會大量分泌令人欣喜莫名,
同時也讓達成目標那個行為的神經迴路連結得更緊。

研究證實多巴胺會刺激大腦可塑性改變:
行為開始→經過嘗試錯誤終於成功→得到成就感和報酬→
多巴胺釋放快感湧出→固化達成該行為的神經迴路→
增強嘗試的動機→再次做該行為。

善用這個學習的良性循環,不分年齡、性格或際遇,
誰都可以強化學習,重塑大腦。

也就是說,當我們開始學習新東西的時候,其實是建立這類新東西的神經迴路。所以,遇到挫折時根本不用太擔心!因為,你只是還在建立相關的迴路而已!

你對這個領域的每一次思考、每一次學習,都是在打通相關的神經迴路,換言之,你就是你自己腦袋的架構師。你所做的事會影響你腦袋的架構,而這個架構能夠回過頭來幫助你做到你想做的事。

舉例來說,當很多人剛學到紅黑樹這類進階的資料結構時,就算你知道學習紅黑樹很有意義(紅黑樹的應用可見 此篇文章,心中可能還是會感到恐懼,因為覺得好像很難懂,各種操作怎麼那麼複雜。

可是,如果你把心思放在你對自己腦袋做的每一次迴路重建,那你能感受到成就感所需要的門檻就大大降低了!

說更清楚一點,請你試著想像,今天看到下面這一點點介紹:

red-black-tree

一般人的想法大概就是:「恩,這定義滿簡單的,我會了,我要繼續往下看。」

可是,如果你了解你自己光看完這些定義,就已經強化了自己腦袋中跟紅黑樹相關的迴路,那你這時會感受到的可能是:「喔?居然會想到可以把樹漆成紅色跟黑色的,好奇怪,但這麼奇怪的東西居然會是我們常用的 map(C++ STL)背後的實作機制,真有趣。是說,光是看到這定義,我腦袋中關於紅黑樹的迴路就已經加強了,繼續看看吧。」

當想法有了轉變,就讓你學習的過程開始轉變,不再只是快速地看過簡單的地方,然後遇到難的地方就卡住,就不想學習。而是可以把握每一個小小的點,了解這些都只是強化你腦袋迴路的過程。當你持續這麼做,你累積的每一個小小的點就會讓你產生一些 Aha moment,體會到原本不懂的東西、迸發原本沒聯想過的創意,再次釋放多巴胺,強化你的迴路!

形成正循環

掌握了所學事物的意義價值、能夠善用學到新知和突破的成就感,接下來就是讓這個循環成形,既感受到意義,又能藉由學習的快樂和實際將知識拿來運用、驗證學這些東西的意義。最後就能形成一個正向的循環,讓過程越來越快樂。

總結

這次跟大家分享了一些可以幫助快樂學習的方法,這些方法對我來說是滿有幫助的,也希望可以幫助大家學習得更愉快!

延伸閱讀

  1. 模擬大腦學習過程,DeepMind 用強化學習神經網路找出人類內化過去經驗解決新任務的關鍵

  2. 頂尖AI實驗室建立經驗分享:孫民
    這段影片講到怎麼讓學生的動機去成為一個好的研究者。

  3. What are the applications of data structures?

關於作者:
@pojenlai 演算法工程師,對機器人、電腦視覺和人工智慧有少許研究,正在學習用心體會事物的本質不斷進入學生心態改進


#data structure #learning #passion









Related Posts

W14 直播檢討

W14 直播檢討

The introduction and difference between class component and function component in React

The introduction and difference between class component and function component in React

js筆記-event

js筆記-event




Newsletter




Comments